/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JOptionPane;
import modelo.m_categoria;
import modelo.m_ingrediente;
import modelo.m_producto;
import vista.v_categoria;
import vista.v_ingrediente;
import vista.v_producto;


public class c_producto implements ActionListener{

    v_producto vproducto;
    m_producto mproducto = new m_producto();
    v_categoria vcategoria = new v_categoria();
    m_categoria mcategoria = new m_categoria();
    v_ingrediente vingrediente = new v_ingrediente();
    m_ingrediente mingrediente = new m_ingrediente();
    Vector<m_ingrediente> consulta_ingredientes = new Vector<m_ingrediente>();
    Vector<m_categoria> consulta_categorias = new Vector<m_categoria>();

    
    
    public c_producto (v_producto vproducto)
    {
    this.vproducto = vproducto;
    //cargarCombos();
    }
    
   public void actionPerformed(ActionEvent e) {
   Object boton = e.getSource();
   if (boton.equals(vproducto.getButton_agregar()))
      agregar();
   else if (boton.equals(vproducto.getButton_eliminar()))
      eliminar();
   else if (boton.equals(vproducto.getButton_finalizar()))
      finalizar();
   }
    
    void agregar()
    {
     int posicion_combo = vproducto.getLista_ingrediente().getSelectedIndex();
     Vector<String> guardar_tabla = new Vector<String>();
     guardar_tabla.add(consulta_ingredientes.get(posicion_combo).getCodigo().toString());
     guardar_tabla.add(consulta_ingredientes.get(posicion_combo).getNombre().toString());
     guardar_tabla.add(vproducto.getCantidad().getValue().toString());
     vproducto.getModelo_jtabla().addRow(guardar_tabla);
    }

    void eliminar()
    {
     vproducto.getModelo_jtabla().removeRow(vproducto.getTabla_producto().getSelectedRow());
    }

    void finalizar()
    {
       
     if(!vproducto.getTexto_nombre().getText().isEmpty() && !vproducto.getTexto_precio().getText().isEmpty())
     {
    
      Vector<m_ingrediente> v_ingrediente_insertar = new Vector<m_ingrediente>();
         for (int i = 0; i < vproducto.getModelo_jtabla().getRowCount(); i++) {
             m_ingrediente ingrediente_insertar = new m_ingrediente();
             ingrediente_insertar.setCodigo(vproducto.getModelo_jtabla().getValueAt(i, 0).toString());
             ingrediente_insertar.setCantidad(Float.parseFloat(vproducto.getTabla_producto().getValueAt(i, 2).toString()));
             v_ingrediente_insertar.add(ingrediente_insertar);
         }
        mproducto.registrar(vproducto.getTexto_nombre().getText(),consulta_categorias.elementAt(vproducto.getLista_categoria().getSelectedIndex()).getCodigo(),vproducto.getTexto_precio().getText(),v_ingrediente_insertar);
        vproducto.cancelar();
        JOptionPane.showMessageDialog(vproducto, "se ha ingresado el producto con exito");
     }
     else
     {
      JOptionPane.showMessageDialog(vproducto, "hay campos en blanco, verifique");

     }
    }
    public void cargarCombos()
    {
    consulta_categorias   = mcategoria.consultaBD();
    consulta_ingredientes = mingrediente.consultaBD();

        for (int i = 0; i < consulta_categorias.size(); i++) {
            vproducto.getLista_categoria().addItem(consulta_categorias.get(i).getNombre());

        }

        for (int i = 0; i < consulta_ingredientes.size(); i++) {
            vproducto.getLista_ingrediente().addItem(consulta_ingredientes.get(i).getNombre());

        }

    }

}
